GtkCssImageRadial *radial = GTK_CSS_IMAGE_RADIAL (image);
GskColorStop *stops;
double x, y;
- double radius, yscale;
+ double hradius, vradius;
double start, end;
double r1, r2, r3, r4, r;
double offset;
switch (radial->size)
{
case GTK_CSS_EXPLICIT_SIZE:
- radius = _gtk_css_number_value_get (radial->sizes[0], width);
+ hradius = _gtk_css_number_value_get (radial->sizes[0], width);
break;
case GTK_CSS_CLOSEST_SIDE:
- radius = MIN (MIN (x, width - x), MIN (y, height - y));
+ hradius = MIN (MIN (x, width - x), MIN (y, height - y));
break;
case GTK_CSS_FARTHEST_SIDE:
- radius = MAX (MAX (x, width - x), MAX (y, height - y));
+ hradius = MAX (MAX (x, width - x), MAX (y, height - y));
break;
case GTK_CSS_CLOSEST_CORNER:
case GTK_CSS_FARTHEST_CORNER:
r = MIN ( MIN (r1, r2), MIN (r3, r4));
else
r = MAX ( MAX (r1, r2), MAX (r3, r4));
- radius = sqrt (r);
+ hradius = sqrt (r);
break;
default:
g_assert_not_reached ();
}
- radius = MAX (1.0, radius);
- yscale = 1.0;
+ hradius = MAX (1.0, hradius);
+ vradius = hradius;
}
else
{
- double hradius, vradius;
-
switch (radial->size)
{
case GTK_CSS_EXPLICIT_SIZE:
hradius = MAX (1.0, hradius);
vradius = MAX (1.0, vradius);
-
- radius = hradius;
- yscale = vradius / hradius;
}
- gtk_css_image_radial_get_start_end (radial, radius, &start, &end);
+ gtk_css_image_radial_get_start_end (radial, hradius, &start, &end);
offset = start;
last = -1;
continue;
}
else
- {
- pos = _gtk_css_number_value_get (stop->offset, radius) / radius;
- pos = CLAMP (pos, 0.0, 1.0);
- }
+ pos = _gtk_css_number_value_get (stop->offset, hradius) / hradius;
- pos = MAX (pos, offset);
+ pos = MAX (pos, 0);
step = (pos - offset) / (i - last);
for (last = last + 1; last <= i; last++)
{
gtk_snapshot_append_repeating_radial_gradient (snapshot,
&GRAPHENE_RECT_INIT (0, 0, width, height),
&GRAPHENE_POINT_INIT (x, y),
- radius,
- yscale,
+ hradius,
+ vradius,
start,
end,
stops,
gtk_snapshot_append_radial_gradient (snapshot,
&GRAPHENE_RECT_INIT (0, 0, width, height),
&GRAPHENE_POINT_INIT (x, y),
- radius,
- yscale,
+ hradius,
+ vradius,
start,
end,
stops,